package com.chainshop.sale.mapper;

import com.chainshop.common.core.domain.pojo.RevenueRecords;
import com.chainshop.common.core.domain.pojo.Sales;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author Yeah
 * @create 2024-08-15-18:47
 * @title
 * @Description:
 */
@Mapper
public interface SaleMapper {
    /**
     * 查询存储销售记录的
     *
     * @param orderId 存储销售记录的主键
     * @return 存储销售记录的
     */
    public Sales selectSalesByOrderId(Integer orderId);

    /**
     * 查询存储销售记录的列表
     *
     * @param sales 存储销售记录的
     * @return 存储销售记录的集合
     */
    public List<Sales> selectSalesList(Sales sales);

    /**
     * 新增存储销售记录的
     *
     * @param sales 存储销售记录的
     * @return 结果
     */
    public int insertSales(Sales sales);

    /**
     * 修改存储销售记录的
     *
     * @param sales 存储销售记录的
     * @return 结果
     */
    public int updateSales(Sales sales);

    /**
     * 删除存储销售记录的
     *
     * @param orderId 存储销售记录的主键
     * @return 结果
     */
    public int deleteSalesByOrderId(Integer orderId);

    /**
     * 批量删除存储销售记录的
     *
     * @param orderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSalesByOrderIds(Integer[] orderIds);

    /**
     * 批量删除收入查询
     *
     * @param orderIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRevenueRecordsBySalesOrderIds(Integer[] orderIds);

    /**
     * 批量新增收入查询
     *
     * @param revenueRecordsList 收入查询列表
     * @return 结果
     */
    public int batchRevenueRecords(List<RevenueRecords> revenueRecordsList);


    /**
     * 通过存储销售记录的主键删除收入查询信息
     *
     * @param orderId 存储销售记录的ID
     * @return 结果
     */
    public int deleteRevenueRecordsBySalesOrderId(Integer orderId);
}
